يکی از مهمترين مفاهيم موجود در رابطه با XML ، تکنولوژی DOM)Document Object Model) است . XML نظير برنامه Word و يا DHTML ( مربوط به شرکت ماکروسافت ) ، دارای يک مدل مبتنی بر شی ، برای برنامه نويسی است . در اين مقاله به بررسی ده نکته مهم در رابطه با تکنولوژی XML - DOM خواهيم پرداخت .
با ارائه XML توسط کنسرسيوم وب ، قدرت تازه ای در عرصه تکنولوژی های مطرح عرض اندام نمود . در اين مقاله با توجه به اهميت تکنولوژی فوق ، به برخی از نکات کليدی و مهم آن اشاره می گردد.
نکته اول ◄ کنسزسيوم وب با طراحی XML ، امکان استفاده از آن را در اينترنت ، مجموعه وسيعی از برنامه ها ، سيستم های عامل مستقل ، سخت افزار و زبان های کامپيوتر فراهم کرده است . XML روشی مطمئن بمنظور تبادل اطلاعات بين سيستم های متفاوت است .
نکته دوم ◄
در بخش اول، مفاهيم اوليه تکنولوژی XML بررسی و پس از معرفی خانواده بزرگ تکنولوژی های مرتبط با XML ، سه استاندارد لازم بمنظور تعريف نوع سندهای XML تشريح گرديد ( XML ، NameSpace و XML-Schema ( و يا DTD) ) . در بخش دوم به بررسی نحوه انتشار سندهای XML اشاره گرديد . در اين بخش ،نحوه پردازش سندهای XML و دلايل توجه جدی به اين تکنولوژی ، تشريح می گردد . پياده کنندگان نرم افزار در زمان استفاده از XML علاقه مند به کار در دو سطح متفاوت می باشند : پردازش های سطح پائين و پردازش های سطح بالا. در پردازش های سطح پائين ، تمام سند خوانده شده و به بخش های مورد نظر برای پردازش ، تقسيم می گردد . در پردازش های سطح بالا ، از ابزارهای لازم برای انجام فعاليت های سطح پائين استفاده شده و در برخی حالات نيز لازم است که کدها و اسکريپت های خاصی نوشته شده تا پردازش های لازم بر روی يک سند XML صورت پذيرد . برای پردازش های سطح پائين ، می بايست از استانداردهای موجود در رابطه با Parsing استفاده کرد . در پردازش های سطح بالا ، می بايست از استاندارد تبديل XML استفاده کرد .
در بخش اول، مفاهيم اوليه تکنولوژی XML بررسی و پس از معرفی خانواده بزرگ تکنولوژی های مرتبط با XML ، سه استاندارد لازم بمنظور تعريف نوع سندهای XML تشريح گرديد ( XML ، NameSpace و XML-Schema ( و يا DTD) ) . در بخش دوم به بررسی نحوه انتشار سندهای XML خواهيم پرداخت . Html بعنوان اسنانداردی جهت نمايش اطلاعات در عرصه وب ، سالها است که مطرح و استفاده می گردد. تگ های Html مسئوليت تبين نحوه نمايش اطلاعات را بر عهده خواهند گرفت . تکنولوژی فوق برای انجام وظايف محوله از پيش فرض های تعريف شده و ثابت (ايستا ) استفاده می نمايد . مثلا" با مشاهده تگ دقيقا" مشخص شده است که می بايست چه نوع واکنشی صورت پذيرد. ( پر رنگ نمودن متن مورد نظر ) . نبايد انتظار داشته باشيم که با درج تگ عملياتی غير از آنچه از قبل تعريف شده است صورت پذيرد. مفسر تگ های Html پس از انجام تفسير مربوطه ، واکنش از قبل تعريف شده ای را از خود نشان خواهد داد. مرورگرها بکمک مفسر های مربوطه همواره شرايط يکسانی را برای نمايش فراهم و شرايط خود را بر همه چيز منجمله سليقه و نقطه نظرات طراح و ... ترجيج می دهند. خودخواهی در نمايش و تحميل شرايط مربوطه از نکات قابل تامل در تکنولوژی فوق است . Html محدوده و مرزی را برای تفکيک داده ها از نمايش قائل نگرديده و با تلفيق دو مقوله فوق همواره از يک روش ثابت برای نمايش داده ها استفاده می نمايد. فرض کنيد که يک فايل html داشته و بخواهيم زمانيکه برای کاربر ارسال می گردد در مرورگر مربوطه ، به دو صورت کاملا" متمايز نمايش داده شود . برای نيل به خواسته فوق چاره ای نيست مگر اينکه دو فايل مجزای html را ايجاد که هر يک دارای خروجی اختصاصی خود باشند. در مثال فوق قصد ما نمايش داده های يکسان با فرمت های متفاوت از بعد نمايش است . ما بدنبال روش و يا روش هائی هستيم که قادر به تفکيک بين داده و نمايش باشد. قطعا" Html در اين راستا گزينه ای مناسب نخواهد بود. سندهای Html از تگ هائی نظير و بمنظور ايجاد ساختار و از تگ هائی نظير و بمنظور ايجاد فرمت نمايش اطلاعات استفاده می نمايند . در اين راستا عملا" هيچگونه تگی که نشاندهنده نوع اطلاعات و محتويات سند باشد ، وجود ندارد .بدين ترتيب مفسر قادر به تفسير تگ های فوق صرفا" در حد نمايش اطلاعات بوده و امکان انجام هيچگونه پردازشی وجود نخواهد داشت .
تاکنون مقالات فراوانی در باره XML نوشته شده است، اغلب مطالب عنوان شده صرفا" بر روی يک موضوع خاص تمرکز داشته و از زاويه ای کاملا" اختصاصی و در عين حال محدود به بررسی تکنولوژی XML پرداخته و بندرت به موارد اساسی و خانواده بزرگ استاندارهای XML اشاره شده است. در اين مقاله عناصر کليدی مرتبط با تکنولوژی XML تشريح و ارتباط آنها تبين و جايگاه هر يک از آنها برای پياده کنندگان و طراحان برنامه های اطلاعاتی تشريح می گردد. پس از مطالعه اين مقاله ، خوانندگان با استانداردهای کليدی : XML,XSL,XML-Schema,DOM,SAX,Namespace,XLink بهمراه تکنولوژی های مربوطه آشنا خواهند شد.
در مقاله "XML در دات نت : ايجاد يک فايل " با نحوه ايجاد يک فايل XML با استفاده از XmlTextWriter آشنا شديم . در اين مقاله به بررسی نحوه خواندن يک فايل XML خواهيم پرداخت . پارسرهای ( DOM : ( Document Object Model ، يک ساختار درختی از سند XML را در حافظه ايجاد نموده و امکان حرکت بر روی گره ها و يا خصلت های متفاوتی را در اختيار قرار می دهند. پارسرهای ( SAX : ( Simple API for XML ، سندهای XML را به صورت ترتيبی پردازش نموده و نسبت به پارسرهای DOM حافظه بمرابت کمتری را اشغال می نمايند . در MSXML ver 3.0 ، شرکت مايکروسافت دو پارسر فوق را ارائه نموده است . در دات نت نيز از پارسر DOM که دارای سازگاری و شباهت بسيار زيادی با MSXML است و پارسر SAX که دستخوش تغييرات متعددی نسبت به گذشته شده است ، استفاده می گردد . پارسرهای قبل از دات نت ، (مثلا" پارسر MSXML ) کلاس ها و اينترفيس های متعددی را به منظور انجام عمليات متقاوت بر روی اسناد XML ارائه نموده که با استاندارد پيشنهادی کنسرسيوم وب ، سازگاری و نزديکی قابل توجهی دارد. در دات نت علاوه بر استمرار وضعيت فوق ، روش های ساده و انعطاف پذيری به منظور کار بر روی اسناد XML ارائه شده است .
به منظور دستيابی به محتوای يک سند XML ، می بايست آن را Parse نمود تا به بخش مورد نظر دست يافت . به نرم افزارهائی که امکان انجام چنين عملياتی را فراهم می نمايند ، "پارسر" گفته می شود . پارسرها دارای دو نوع متفاوت می باشند :
XML ، يک زبان نشانه گذاری است که امکانات گسترده ای به منظور تشريح اطلاعات را ارائه می نمايد . مولفين اسناد XML به منظور تشريح اطلاعات از تگ ها و خصلت های اختصاصی خود استفاده می نمايند. ( تگ از قبل تعريف شده ای وجود ندارد ) . تگ های موجود در يک سند XML با يکديگر ترکيب و به همراه مجموعه قوانينی که ارتباط بين آنان را مشخص می نمايد ، ارائه می گردند . به منظور تعريف قوانين فوق از( DTD ( Documet Type Definition و XML Schema استفاده می گردد .
XML در سال 1996 توسط کنسرسيوم وب ( گروه کاری XML ) پياده سازی شده است . استاندارد باز و مستقل از پلت فرم بودن از جمله مهمترين ويژگی های XML محسوب می گردد. XML از آن زمان تاکنون دستخوش تغييرات متعددی شده و از آن در ابعاد گسترده ای نظير ذخيره سازی داده های مورد نياز که می بايست بين برنامه ها منتقل گردند، استفاده می شود ( خصوصا" برنامه هائی که بر روی اينترنت اجراء می گردند ) .
دربخش اول اين مقاله با نحوه تبديل فايل های XML با استفاده از فايل های XSLT آشنا شديم .در بخش دوم به بررسی نحوه تبديل اسناد DOM با استفاده از XSLT خواهيم پرداخت .
به منظور پردازش يک سند XML می توان از روش های مختلفی استفاده نمود . برخی از روش ها ، مبتنی بر تکنولوژی های سمت سرويس گيرنده و برخی ديگر مبتنی بر تکنولوژی های سمت سرويس دهنده بوده که پس از پردازش يک سند XML و ايجاد خروجی مناسب ، نتايج برای مرورگر ارسال می گردد . در اين رابطه می توان از امکانات ارائه شده به منظور انجام عمليات متفاوتی در ارتباط با اسناد XML نظير ويرايش يک سند و يا قابليت اشتراک آنان بين چندين سرويس دهنده ، استفاده نمود .
در اين مقاله قصد داريم با تاکيد بر تکنولوژی های سمت سرويس دهنده به نحوه تبديل اسناد XML در محيط دات نت اشاره نمائيم .
XML برای برنامه نويسان VB و ASP ( بخش سوم )
بخش اول اين مقاله با مفاهيم اوليه تکنولوژی XML آشنا شديم . در بخش دوم به بررسی DTD و XML-Data Schema پرداخته و در اين بخش به بررسی XML Document Object Model خواهيم پرداخت.
XML DOM ، بمنظور ارائه قابليت های لازم برنامه نويسی برای انجام عمليات دلخواه در رابطه با اشياء موجود در يک سند XML ، ايجاد شده است .
ساختار سلسله مراتبی اشياء در XML DOM
ساختار اشياء در XML DOM ، بصورت سلسله مراتبی و تصويری مناسب از اشياء موجود در سند XML است . شکل زير يک نمونه از ساختار سلسله مراتبی اشياء در XML DOM را نشان می دهد . شکل فوق شامل شی Document و مجموعه ای از اشياء تودرتو ديگر است .
به ادامه مطالب مراجعه نمایید...